//
// Created on 2025/8/4.
//
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
// please include "napi/native_api.h".

#ifndef OPENGL_CONSTANTS_H
#define OPENGL_CONSTANTS_H
#include <GLES2/gl2ext.h>
#include <GLES3/gl3.h>
#include <cstdint> // 包含int32_t的定义

// 声明全局常量：1秒 = 1000毫秒
constexpr int32_t MILLIS_PER_SECOND = 1000;
// 声明全局常量：1毫秒 = 1000微秒
constexpr int32_t MRC_MICROSECONDS_PER_MILLISECOND = 1000;
constexpr int MATRIX_4X4_SIZE = 16; // 4x4矩阵共16个元素（4行×4列）

// 顶点属性相关常量（语义化命名）
namespace VertexAttrib {
// 定点数量
constexpr int32_t RECT_VERTEX_NUMS = 4; 
// 每个属性的分量数量
constexpr int32_t POSITION_COMPONENTS = 3; // 位置：x, y, z → 3个分量（替代魔法值3）
constexpr int32_t CORTEX_COMPONENTS = 2;   // 纹理坐标：u, v → 2个分量（替代魔法值2）
constexpr int32_t ALL_COMPONENTS = POSITION_COMPONENTS + CORTEX_COMPONENTS; // 纹理坐标：u, v → 2个分量（替代魔法值2）

} // namespace VertexAttrib
#endif // OPENGL_CONSTANTS_H
